Electronic components (e.g., application specific integrated circuits, field-programmable gate arrays, etc.) are commonly connected to an external memory through an interface. The interface between an electronic component and an external memory may have a number of interconnects (e.g., pins) that are used to transfer data. For example, a 16-bit interface may have 16 interconnects between the electronic component and the external memory. The 16 interconnects allow 16 bits of data to be transferred in parallel. When more than 16 bits need to be transferred, the data can be grouped into a number of cycles that are transferred sequentially. For instance, if 256 bits of data needs to be transferred, the 256 bits can be grouped into 16 cycles with each cycle including 16 bits of data. The 16 bits of data within one cycle are transferred across the interconnects in parallel, and the 16 cycles are transferred across the interconnects one after the other.
In some systems, data is transferred in a series of burst operations. A burst operation includes transferring data in groups of cycles called bursts. For instance, in the 256 bit example discussed above, each burst may include 8 cycles. Accordingly, the 256 bits are transferred in two bursts. Each of the two bursts includes 8 cycles, and each cycle includes 16 bits. Additionally, a burst operation may incorporate double data rate (DDR) transfer. In DDR transfer, two cycles are transferred for each cycle of the system clock. Therefore, in the 8 cycle burst example, 2 cycles are sent for each cycle of the system clock, and the 8 cycle burst is transferred during 4 cycles of the system clock. Of course, cycles can include any number of bits, bursts can include any number of cycles, and any number of cycles can be transferred during a cycle of the system clock. The examples discussed above are given merely for illustration purposes.
Occasionally, a defect may exist on one or more of the interconnects that prevents data from being properly transferred between the electronic component and the external memory. Some examples of malfunctions that may occur include intersymbol interference and system switching noise (e.g., simultaneous switching input noise and simultaneous switching output noise). In intersymbol interference (ISI), a signal on one interconnect is distorted by previous or subsequent signals sent on the same interconnect. In system switching noise (SSN), a signal on one interconnect is distorted by signals sent on neighboring interconnects. Accordingly, defects on the interconnects between an electronic component and an external memory can cause data to be improperly transferred.